home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / 2.01 sources / Library-2.01 / Interfaces / PACKAGES.lisp < prev    next >
Encoding:
Text File  |  1993-09-16  |  13.3 KB  |  350 lines  |  [TEXT/CCL2]

  1.  
  2. (in-package :traps)             ; 
  3. ; Created: Friday, January 25, 1991 at 11:34 AM
  4. ;     Packages.p
  5. ;     Pascal Interface to the Macintosh Libraries
  6. ;         Copyright Apple Computer, Inc.    1985-1990
  7. ;         All rights reserved
  8.  
  9. ;;;;;;;;;;;;;
  10. ;
  11. ; Modification History
  12. ;
  13. ; 04/28/93 mwp Release
  14. ; 08/10/92 bill typo in _NumtoString
  15. ; ------------- 2.0
  16. ; 02/18/92 bill _IUStringOrder is not in rom.
  17. ; ------------- 2.0f2
  18. ; 08/29/91 bill get rid of :invalid-type
  19. ; 08/23/91 bill Missing :NO-TRAP in _IUEqualPString
  20. ;
  21.  
  22. ; $IFC UNDEFINED UsingIncludes
  23. ; $SETC UsingIncludes := 0
  24. ; $ENDC
  25.  
  26. ; $IFC NOT UsingIncludes
  27.  
  28. ; $ENDC
  29.  
  30. ; $IFC UNDEFINED UsingPackages
  31. ; $SETC UsingPackages := 1
  32.  
  33. ; $I+
  34. ; $SETC PackagesIncludes := UsingIncludes
  35. ; $SETC UsingIncludes := 1
  36. ; $IFC UNDEFINED UsingTypes
  37.  
  38. (require-interface 'TYPES)      ; $I $$Shell(PInterfaces)Types.p
  39. ; $ENDC
  40. ; $IFC UNDEFINED UsingStandardFile
  41.  
  42. (require-interface 'STANDARDFILE); $I $$Shell(PInterfaces)StandardFile.p
  43. ; $ENDC
  44. ; $IFC UNDEFINED UsingScript
  45.  
  46. (require-interface 'SCRIPT)     ; $I $$Shell(PInterfaces)Script.p
  47. ; $ENDC
  48. ; $SETC UsingIncludes := PackagesIncludes
  49.  
  50. (defconstant $listMgr 0)        ; list manager
  51. (defconstant $dskInit 2)        ; Disk Initializaton
  52. (defconstant $stdFile 3)        ; Standard File
  53. (defconstant $flPoint 4)        ; Floating-Point Arithmetic
  54. (defconstant $trFunc 5)         ; Transcendental Functions
  55. (defconstant $intUtil 6)        ; International Utilities
  56. (defconstant $bdConv 7)         ; Binary/Decimal Conversion
  57. (defconstant $editionMgr 11)    ; Edition Manager
  58. (defconstant $currSymLead 16)
  59. (defconstant $currNegSym 32)
  60. (defconstant $currTrailingZ 64)
  61. (defconstant $currLeadingZ 128)
  62. (defconstant $zeroCycle 1)      ; 0:00 AM/PM format
  63. (defconstant $longDay 0)        ; day of the month
  64. (defconstant $longWeek 1)       ; day of the week
  65. (defconstant $longMonth 2)      ; month of the year
  66. (defconstant $longYear 3)       ; year
  67. (defconstant $supDay 1)         ; suppress day of month
  68. (defconstant $supWeek 2)        ; suppress day of week
  69. (defconstant $supMonth 4)       ; suppress month
  70. (defconstant $supYear 8)        ; suppress year
  71. (defconstant $dayLdingZ 32)
  72. (defconstant $mntLdingZ 64)
  73. (defconstant $century 128)
  74. (defconstant $secLeadingZ 32)
  75. (defconstant $minLeadingZ 64)
  76. (defconstant $hrLeadingZ 128)
  77.  
  78. ;  Date Orders 
  79. (defconstant $mdy 0)
  80. (defconstant $dmy 1)
  81. (defconstant $ymd 2)
  82. (defconstant $myd 3)
  83. (defconstant $dym 4)
  84. (defconstant $ydm 5)
  85.  
  86. (defconstant $verUS 0)
  87. (defconstant $verFrance 1)
  88. (defconstant $verBritain 2)
  89. (defconstant $verGermany 3)
  90. (defconstant $verItaly 4)
  91. (defconstant $verNetherlands 5)
  92. (defconstant $verFrBelgiumLux 6);  French for Belgium & Luxembourg 
  93. (defconstant $verSweden 7)
  94. (defconstant $verSpain 8)
  95. (defconstant $verDenmark 9)
  96. (defconstant $verPortugal 10)
  97. (defconstant $verFrCanada 11)
  98. (defconstant $verNorway 12)
  99. (defconstant $verIsrael 13)
  100. (defconstant $verJapan 14)
  101. (defconstant $verAustralia 15)
  102. (defconstant $verArabic 16)     ;  synonym for verArabia 
  103. (defconstant $verFinland 17)
  104. (defconstant $verFrSwiss 18)    ;  French Swiss 
  105. (defconstant $verGrSwiss 19)    ;  German Swiss 
  106. (defconstant $verGreece 20)
  107. (defconstant $verIceland 21)
  108. (defconstant $verMalta 22)
  109. (defconstant $verCyprus 23)
  110. (defconstant $verTurkey 24)
  111. (defconstant $verYugoCroatian 25);  Croatian system for Yugoslavia 
  112. (defconstant $verIndiaHindi 33) ;  Hindi system for India 
  113. (defconstant $verPakistan 34)
  114. (defconstant $verLithuania 41)
  115. (defconstant $verPoland 42)
  116. (defconstant $verHungary 43)
  117. (defconstant $verEstonia 44)
  118. (defconstant $verLatvia 45)
  119. (defconstant $verLapland 46)
  120. (defconstant $verFaeroeIsl 47)
  121. (defconstant $verIran 48)
  122. (defconstant $verRussia 49)
  123. (defconstant $verIreland 50)    ;  English-language version for Ireland 
  124. (defconstant $verKorea 51)
  125. (defconstant $verChina 52)
  126. (defconstant $verTaiwan 53)
  127. (defconstant $verThailand 54)
  128. (defconstant $minCountry #$verus)
  129. (defconstant $maxCountry #$verthailand)
  130.  
  131. ; Obsolete region code names, kept for backward compatibility
  132. (defconstant $verBelgiumLux 6)  ; (use verFrBelgiumLux instead, less ambiguous)
  133. (defconstant $verArabia 16)
  134. (defconstant $verYugoslavia 25) ; (use verYugoCroatian instead, less ambiguous)
  135. (defconstant $verIndia 33)      ; (use verIndiaHindi instead, less ambiguous) 
  136.  
  137. ; special ScriptCode values
  138. (defconstant $iuSystemScript -1);  system script 
  139. (defconstant $iuCurrentScript -2);  current script 
  140.  
  141. ; special LangCode values
  142. (defconstant $iuSystemCurLang -2);  current (itlbLang) lang for system script 
  143. (defconstant $iuSystemDefLang -3);  default (table) lang for system script 
  144. (defconstant $iuCurrentCurLang -4);  current (itlbLang) lang for current script 
  145. (defconstant $iuCurrentDefLang -5);  default lang for current script 
  146. (defconstant $iuScriptCurLang -6);  current (itlbLang) lang for specified script 
  147. (defconstant $iuScriptDefLang -7);  default language for a specified script 
  148.  
  149. ; table selectors for IUGetItlTable
  150. (defconstant $iuWordSelectTable 0)
  151. (defconstant $iuWordWrapTable 1)
  152. (defconstant $iuNumberPartsTable 2)
  153. (defconstant $iuUnTokenTable 3)
  154. (defconstant $iuWhiteSpaceList 4)
  155.  
  156. (def-mactype :dateform (find-mactype :unsigned-byte))
  157. (defconstant $shortDate 0)
  158. (defconstant $longDate 1)
  159. (defconstant $abbrevDate 2)
  160.  
  161. (def-mactype :intl0ptr (find-mactype :pointer))
  162. (def-mactype :intl0hndl (find-mactype :handle))
  163. (defrecord (Intl0Rec :handle) 
  164.    (decimalPt :character)       ; decimal point character
  165.    (thousSep :character)        ; thousands separator
  166.    (listSep :character)         ; list separator
  167.    (currSym1 :character)        ; currency symbol
  168.    (currSym2 :character)
  169.    (currSym3 :character)
  170.    (currFmt :unsigned-byte)     ; currency format
  171.    (dateOrder :unsigned-byte)   ; order of short date elements
  172.    (shrtDateFmt :unsigned-byte) ; short date format
  173.    (dateSep :character)         ; date separator
  174.    (timeCycle :unsigned-byte)   ; 0 if 24-hour cycle, 255 if 12-hour
  175.    (timeFmt :unsigned-byte)     ; time format
  176.    (mornStr :ostype)            ; trailing string for first 12-hour cycle
  177.    (eveStr :ostype)             ; trailing string for last 12-hour cycle
  178.    (timeSep :character)         ; time separator
  179.    (time1Suff :character)       ; trailing string for 24-hour cycle
  180.    (time2Suff :character)
  181.    (time3Suff :character)
  182.    (time4Suff :character)
  183.    (time5Suff :character)
  184.    (time6Suff :character)
  185.    (time7Suff :character)
  186.    (time8Suff :character)
  187.    (metricSys :unsigned-byte)   ; 255 if metric, 0 if not
  188.    (intl0Vers :signed-integer)  ; version information
  189.    )
  190.  
  191. (def-mactype :intl1ptr (find-mactype :pointer))
  192. (def-mactype :intl1hndl (find-mactype :handle))
  193. (defrecord (Intl1Rec :handle) 
  194.    (days (:array (:string 15) 7)); day names
  195.    (months (:array (:string 15) 12)); month names
  196.    (suppressDay :unsigned-byte) ; 0 for day name, 255 for none
  197.    (lngDateFmt :unsigned-byte)  ; order of long date elements
  198.    (dayLeading0 :unsigned-byte) ; 255 for leading 0 in day number
  199.    (abbrLen :unsigned-byte)     ; length for abbreviating names
  200.    (st0 :ostype)                ; strings for long date format
  201.    (st1 :ostype)
  202.    (st2 :ostype)
  203.    (st3 :ostype)
  204.    (st4 :ostype)
  205.    (intl1Vers :signed-integer)  ; version information
  206.    (localRtn (:array :signed-integer 1)); routine for localizing string comparison
  207.    )
  208.  
  209.  
  210. (deftrap _initpack ((packid :signed-integer))
  211.    nil
  212.    (:stack-trap #xA9E5))
  213.  
  214. (deftrap _initallpacks nil
  215.    nil
  216.    (:stack-trap #xA9E6))
  217.  
  218.  
  219. (deftrap _iugetintl ((theid :signed-integer))
  220.    (:stack :handle)
  221.    (:stack-trap #xA9ED theid (6 :signed-integer)))
  222.  
  223. (deftrap _iusetintl ((refnum :signed-integer) (theid :signed-integer) (intlhandle :handle))
  224.    nil
  225.    (:stack-trap #xA9ED refnum theid intlhandle (8 :signed-integer)))
  226.  
  227. (deftrap _iudatestring ((datetime :signed-long) (longflag :unsigned-byte) (result (:pointer (:string 255))))
  228.    nil
  229.    (:stack-trap #xA9ED datetime longflag result (0 :signed-integer)))
  230.  
  231. (deftrap _iudatepstring ((datetime :signed-long) (longflag :unsigned-byte) (result (:pointer (:string 255))) (intlhandle :handle))
  232.    nil
  233.    (:stack-trap #xA9ED datetime longflag result intlhandle (14 :signed-integer)))
  234.  
  235. (deftrap _iutimestring ((datetime :signed-long) (wantseconds :boolean) (result (:pointer (:string 255))))
  236.    nil
  237.    (:stack-trap #xA9ED datetime wantseconds result (2 :signed-integer)))
  238.  
  239. (deftrap _iutimepstring ((datetime :signed-long) (wantseconds :boolean) (result (:pointer (:string 255))) (intlhandle :handle))
  240.    nil
  241.    (:stack-trap #xA9ED datetime wantseconds result intlhandle (16 :signed-integer)))
  242.  
  243. (deftrap _iumetric nil
  244.    (:stack :boolean)
  245.    (:stack-trap #xA9ED (4 :signed-integer)))
  246.  
  247.  
  248. (deftrap _iumagstring ((aptr :pointer) (bptr :pointer) (alen :signed-integer) (blen :signed-integer))
  249.    (:stack :signed-integer)
  250.    (:stack-trap #xA9ED aptr bptr alen blen (10 :signed-integer)))
  251.  
  252. (deftrap _iumagidstring ((aptr :pointer) (bptr :pointer) (alen :signed-integer) (blen :signed-integer))
  253.    (:stack :signed-integer)
  254.    (:stack-trap #xA9ED aptr bptr alen blen (12 :signed-integer)))
  255.  
  256. (deftrap _iucompstring ((astr (:string 255)) (bstr (:string 255)))
  257.    (:no-trap :signed-integer)
  258.    (:no-trap (gopmag 10 astr bstr)))
  259.  
  260. (deftrap _iuequalstring ((astr (:string 255)) (bstr (:string 255)))
  261.    (:no-trap :signed-integer)
  262.    (:no-trap (gopmag 12 astr bstr)))
  263.  
  264. (deftrap _stringtonum ((thestring (:string 255)) (thenum (:pointer :signed-long)))
  265.    nil
  266.    (:no-trap (%put-long thenum (ccl::%gen-trap #xA9EE :a0 thestring :word 1 :d0))))
  267.  
  268. (deftrap _numtostring ((thenum :signed-long) (thestring (:pointer (:string 255))))
  269.    nil
  270.    (:no-trap (ccl::%gen-trap #xA9EE :d0 thenum :a0 thestring :word 0)))
  271.  
  272. (deftrap _iuldatestring ((datetime (:pointer :longdatetime)) (longflag :unsigned-byte) (result (:pointer (:string 255))) (intlhandle :handle))
  273.    nil
  274.    (:stack-trap #xA9ED datetime longflag result intlhandle (20 :signed-integer)))
  275.  
  276. (deftrap _iultimestring ((datetime (:pointer :longdatetime)) (wantseconds :boolean) (result (:pointer (:string 255))) (intlhandle :handle))
  277.    nil
  278.    (:stack-trap #xA9ED datetime wantseconds result intlhandle (22 :signed-integer)))
  279.  
  280. (deftrap _iuclearcache nil
  281.    nil
  282.    (:stack-trap #xA9ED (24 :signed-integer)))
  283.  
  284. (deftrap _iumagpstring ((aptr :pointer) (bptr :pointer) (alen :signed-integer) (blen :signed-integer) (itl2handle :handle))
  285.    (:stack :signed-integer)
  286.    (:stack-trap #xA9ED aptr bptr alen blen itl2handle (26 :signed-integer)))
  287.  
  288. (deftrap _iumagidpstring ((aptr :pointer) (bptr :pointer) (alen :signed-integer) (blen :signed-integer) (itl2handle :handle))
  289.    (:stack :signed-integer)
  290.    (:stack-trap #xA9ED aptr bptr alen blen itl2handle (28 :signed-integer)))
  291.  
  292. (deftrap _iucomppstring ((astr (:string 255)) (bstr (:string 255)) (itl2handle :handle))
  293.    (:no-trap :signed-integer)
  294.    (:no-trap (gopmagp 26 astr bstr itl2handle)))
  295.  
  296. (deftrap _iuequalpstring ((astr (:string 255)) (bstr (:string 255)) (itl2handle :handle))
  297.    (:no-trap :signed-integer)
  298.   (:no-trap (gopmagp 28 astr bstr itl2handle)))
  299.  
  300. (deftrap _iuscriptorder ((script1 :signed-integer) (script2 :signed-integer))
  301.    (:stack :signed-integer)
  302.    (:stack-trap #xA9ED script1 script2 (30 :signed-integer)))
  303.  
  304. (deftrap _iulangorder ((language1 :signed-integer) (language2 :signed-integer))
  305.    (:stack :signed-integer)
  306.    (:stack-trap #xA9ED language1 language2 (32 :signed-integer)))
  307.  
  308. (deftrap _iutextorder ((aptr :pointer) (bptr :pointer) (alen :signed-integer) (blen :signed-integer) (ascript :signed-integer) (bscript :signed-integer) (alang :signed-integer) (blang :signed-integer))
  309.    (:stack :signed-integer)
  310.    (:stack-trap #xA9ED aptr bptr alen blen ascript bscript alang blang (34 :signed-integer)))
  311.  
  312. #|
  313. (deftrap _iustringorder ((astr (:string 255)) (bstr (:string 255)) (ascript :signed-integer) (bscript :signed-integer) (alang :signed-integer) (blang :signed-integer))
  314.   (:no-trap :signed-integer)
  315.   (:no-trap (iustringorder pstr0 pstr0 ascript bscript alang blang)))
  316. |#
  317.  
  318. (deftrap _iugetitltable ((script :signed-integer) (tablecode :signed-integer) (itlhandle (:pointer :handle)) (offset (:pointer :signed-long)) (length (:pointer :signed-long)))
  319.    nil
  320.    (:stack-trap #xA9ED script tablecode itlhandle offset length (36 :signed-integer)))
  321.  
  322. ; $ENDC                         ;  UsingPackages 
  323.  
  324. ; $IFC NOT UsingIncludes
  325.  
  326. ; $ENDC
  327.  
  328.  
  329. (export '($abbrevdate $longdate $shortdate $iuwhitespacelist $iuuntokentable
  330.           $iunumberpartstable $iuwordwraptable $iuwordselecttable
  331.           $iuscriptdeflang $iuscriptcurlang $iucurrentdeflang $iucurrentcurlang
  332.           $iusystemdeflang $iusystemcurlang $iucurrentscript $iusystemscript
  333.           $verindia $veryugoslavia $verarabia $verbelgiumlux $maxcountry
  334.           $mincountry $verthailand $vertaiwan $verchina $verkorea $verireland
  335.           $verrussia $veriran $verfaeroeisl $verlapland $verlatvia $verestonia
  336.           $verhungary $verpoland $verlithuania $verpakistan $verindiahindi
  337.           $veryugocroatian $verturkey $vercyprus $vermalta $vericeland
  338.           $vergreece $vergrswiss $verfrswiss $verfinland $verarabic
  339.           $veraustralia $verjapan $verisrael $vernorway $verfrcanada
  340.           $verportugal $verdenmark $verspain $versweden $verfrbelgiumlux
  341.           $vernetherlands $veritaly $vergermany $verbritain $verfrance $verus
  342.           $ydm $dym $myd $ymd $dmy $mdy $hrleadingz $minleadingz $secleadingz
  343.           $century $mntldingz $dayldingz $supyear $supmonth $supweek $supday
  344.           $longyear $longmonth $longweek $longday $zerocycle $currleadingz
  345.           $currtrailingz $currnegsym $currsymlead $editionmgr $bdconv $intutil
  346.           $trfunc $flpoint $stdfile $dskinit $listmgr))
  347. (provide-interface 'PACKAGES)
  348.